package com.headFirstModel.commandPattern;

import com.headFirstModel.commandPattern.command.Command;

/**
 * 简易遥控器:控制操作命令
 */
public class SimpleRemoteControl {
    /**
     * 有一个插槽持有命令,而这个命令控制着一个装置
     */
    Command slot;

    public SimpleRemoteControl(){}

    /**
     * 这个方法用来设置插槽控制命令；
     * 如果这段代码客户想要改变遥控器按钮的行为,可以多次调用该方法
     * @param command
     */
    public void setCommand(Command command){
        slot=command;
    }

    /**
     * 遥控器按钮
     */
    public void  buttonWasPressed(){
        slot.execute();
    }
}
